From 47186797ce247ec18bcf8c95a7384972cd4aa0f3 Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Wed, 22 Nov 2006 10:10:29 +0000 Subject: [PATCH] [POWERPC][LIBFS] Fix build breakage in log2 assembly. Signed-off-by: Hollis Blanchard --- tools/libfsimage/ext2fs/fsys_ext2fs.c | 9 ++++++++- tools/libfsimage/reiserfs/fsys_reiserfs.c | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/tools/libfsimage/ext2fs/fsys_ext2fs.c b/tools/libfsimage/ext2fs/fsys_ext2fs.c index c4e4c863bd..c3749df222 100644 --- a/tools/libfsimage/ext2fs/fsys_ext2fs.c +++ b/tools/libfsimage/ext2fs/fsys_ext2fs.c @@ -278,12 +278,19 @@ ffz (unsigned long word) #elif defined(__powerpc__) +#ifdef __powerpc64__ +#define PPC_CNTLZL "cntlzd" +#else +#define PPC_CNTLZL "cntlzw" +#endif +#define BITS_PER_LONG (sizeof(long) * 8) + static __inline__ int __ilog2(unsigned long x) { int lz; - asm (PPC_CNTLZL "%0,%1" : "=r" (lz) : "r" (x)); + asm (PPC_CNTLZL " %0,%1" : "=r" (lz) : "r" (x)); return BITS_PER_LONG - 1 - lz; } diff --git a/tools/libfsimage/reiserfs/fsys_reiserfs.c b/tools/libfsimage/reiserfs/fsys_reiserfs.c index 1f7b6759df..4b99149735 100644 --- a/tools/libfsimage/reiserfs/fsys_reiserfs.c +++ b/tools/libfsimage/reiserfs/fsys_reiserfs.c @@ -403,12 +403,19 @@ grub_log2 (unsigned long word) #elif defined(__powerpc__) +#ifdef __powerpc64__ +#define PPC_CNTLZL "cntlzd" +#else +#define PPC_CNTLZL "cntlzw" +#endif +#define BITS_PER_LONG (sizeof(long) * 8) + static __inline__ int __ilog2(unsigned long x) { int lz; - asm (PPC_CNTLZL "%0,%1" : "=r" (lz) : "r" (x)); + asm (PPC_CNTLZL " %0,%1" : "=r" (lz) : "r" (x)); return BITS_PER_LONG - 1 - lz; } -- 2.30.2